package com.jeesite.modules.dataScreen.dao;

import cn.hutool.core.date.DateTime;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jeesite.modules.dataScreen.web.vo.electronic.*;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

@DS("sjtb-db")
public interface WaybillDao {

    @MapKey("tm")
    Map<String, JSONObject> getDzys(@Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime, @Param("status") Integer status);

    List<String> county();

    @MapKey("local_county")
    Map<String,JSONObject> countyCheck(@Param("countys") List<String> countys);

    ElectronicCenterVo centerTitle();

    List<OwnerGwVo> ownerGw();

    List<CompanyTroubleVo> getCompanyTrouble(@Param("startYear") Date startYear);

    IPage<OwnerGwViewVo> ownerGwView(IPage<?> page, @Param("areName") String areName);

    IPage<CompanyTroubleViewVo> getCompanyTroubleView(IPage<?> page, @Param("startTime") Date startTime, @Param("endTime") Date endTime);

    IPage<TroubleDlYhVo> getDlTrouble(IPage<TroubleDlYhVo> page);

    IPage<TroubleDoubleVo> getDoubleLuTrouble(IPage<TroubleDoubleVo> page);

    Long onlineCarNum();
}
